// import router from '../router';

const serveConfig = function(serveObg) {
    // post请求的时候，我们需要加上一个请求头，所以可以在这里进行一个默认的设置
    // 即设置post的请求头为application/x-www-form-urlencoded;charset=UTF-8
    // service.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
    // 此配置提供给用户登录注册接口使用

    // 不用验证登录信息的
    // let noOp = {
    //     serveUrl: ['loginController'],
    //     routeUrl: ['/'],
    // };
    // 请求拦截
    serveObg.interceptors.request.use(
        function(config) {
            if (
                !config.headers.userAuthorization &&
                localStorage.getItem('userAuthorization') &&
                localStorage.getItem('userAuthorization') !== 'undefined'
            ) {
                config.headers.userAuthorization = localStorage.getItem('userAuthorization');
            }

            return config;
            // else {
            //     let url = router.currentRoute.fullPath;
            //     let routeTg = noOp.routeUrl.includes(url) ? true : false;
            //     let serveTG = false;
            //     noOp.serveUrl.forEach(item => {
            //         if (config.url.includes(item)) {
            //             serveTG = true;
            //         }
            //     });
            //     // 是否是首页带token
            //     let menuJudge = url.includes('/?token=');
            //     // 如果有一项满足
            //     if (serveTG || routeTg || menuJudge) {
            //         return config;
            //     } else {
            //         // router.replace({
            //         //     path: '/',
            //         //     query: { redirect: router.currentRoute.fullPath },
            //         // });
            //         location.reload();
            //     }
            // }
        },
        error => {
            return Promise.reject(error);
        }
    );

    // http response 拦截器
    serveObg.interceptors.response.use(
        response => {
            return response;
        },
        error => {
            if (error.response) {
                switch (error.response.status) {
                    case 401:
                        // 返回 401 清除token信息并跳转到登录页面
                        alert('服务器连接异常');
                        console.log(error.response);
                        localStorage.setItem('userAuthorization', '');
                        localStorage.setItem('userInf', '');
                        // router.replace({
                        //     path: '/',
                        //     query: { redirect: router.currentRoute.fullPath },
                        // });
                        // location.reload();
                        return error;
                    case 404:
                        alert('服务器连接异常');
                        return;
                }
            }
        }
    );
};
export default serveConfig;
